/* 
 * File:   g3d_mesq.h
 * Author: boyan
 *
 * Created on March 5, 2009, 7:16 PM
 */

#ifndef _G3D_MESQ_H
#define	_G3D_MESQ_H

#include "grid3d.h"

typedef void * mesq_handle;
#define QGRID_SMOOTH_THRESHOLD         1e-2

#ifdef	__cplusplus
extern "C"
{
#endif

mesq_handle mesq_init(grid3d_t *grid);
void mesq_done(mesq_handle handle);

void mesq_run(mesq_handle handle);
void mesq_run_no_wrapper(mesq_handle handle);


#ifdef	__cplusplus
}
#endif

#ifdef __cplusplus

#include <MeshInterface.hpp>

void mesq_run_no_wrapper(mesq_handle handle,
                         Mesquite::MeshDomain *domain);

void mesq_run_no_wrapper(mesq_handle handle,
                         Mesquite::Mesh *mesh,
                         Mesquite::MeshDomain *domain);


#endif

#endif	/* _G3D_MESQ_H */

